EPOLL_CREATE(2) | Linux Programmer's Manual | EPOLL_CREATE(2) |
名前¶
epoll_create, epoll_create1 - epoll ファイルディスクリプタをオープンする
書式¶
#include <sys/epoll.h> int epoll_create(int size); int epoll_create1(int flags);
説明¶
epoll_create() は、 size 個のディスクリプタを保持できる大きさのイベントバッキング ストアの割り当てをカーネルに対して要求することにより、 epoll 「インスタンス」を作成する。 size はバッキングストアの最大サイズではなく、 内部構造の大きさをどの位にするかをカーネルに知らせるヒントでしかない。 (現在は size は無視される。下記の「注意」を参照。)
epoll_create() は、新しい epoll インスタンスを参照するファイルディスクリプタを返す。 このファイルディスクリプタは、その後の epoll インタフェースの呼び出しに使われる。 もう必要でなくなった場合は、 epoll_create() で返されたファイルディスクリプタは close(2) を使ってクローズされるべきである。 ある epoll インスタンスを参照する全てのファイルディスクリプタがクローズされると、 カーネルはそのインスタンスを破壊して、対応するリソースを解放し、 再使用できるようにする。
epoll_create1() は、 flags が 0 の場合、現在では使われていない size 引き数がなくなっている点を除けば epoll_create() と同じである。 flags に以下の値をビット毎の論理和 (OR) で指定することで、 異なる動作をさせることができる。
- EPOLL_CLOEXEC
- 新しいファイルディスクリプタに対して close-on-exec (FD_CLOEXEC) フラグをセットする。 このフラグが役に立つ理由については、 open(2) の O_CLOEXEC フラグの説明を参照のこと。
返り値¶
成功すると、これらのシステムコールは 非負のファイルディスクリプタを返す。 エラーの場合、-1 を返し、 errno にエラーを示す値を設定する。
エラー¶
準拠¶
epoll_create() は Linux 独自であり、カーネル 2.5.44 で導入された。
注意¶
Linux 2.6.8 以降では、 size 引き数は使用されない (カーネルは、動的に必要なデータ構造の大きさを決定し、 最初のヒントを必要しない)。
関連項目¶
2009-01-17 | Linux |